package com.itany.corejava.code09_集合.collections;

import java.util.*;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年11月22日 13:45
 */
public class Test01_常用方法 {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        // list.add(3);
        // list.add(100);
        // list.add(2);
        // list.add(78);
        // list.add(178);
        // list.add(278);
        System.out.println(list);
        // addAll(Collection类型的数据,T... t)向指定集合添加多个数据
        Collections.addAll(list, 120, 30, 40, 67, 90, 67, 1, 2, 79);
        System.out.println(list);

        // max(Collection):求最大值
        System.out.println(Collections.max(list));

        // min(Collection):求最小值
        System.out.println(Collections.min(list));

        List<String> names = new ArrayList<>();
        //如果是字符串，是按照字典顺序进行排序的
        Collections.addAll(names, "admin", "tom", "jack", "coco");
        System.out.println(Collections.max(names));
        System.out.println(Collections.min(names));


        //sort(List list)排序,升序
        Collections.sort(list);//按照数字大小的升序排列
        System.out.println(list);
        Collections.sort(names);//按照字典顺序的升序排列
        System.out.println(names);


        // Collections.sort(list,比较器);

        Collections.sort(list, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                if(o1>o2){
                    return -1;//降序
                }else if(o1<o2){
                    return 1;//升序
                }
                return 0;
            }
        });

        System.out.println(list);

        Collections.sort(names, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                if(o1.length()>o2.length()){
                    return -1;//降序
                }else if(o1.length()<o2.length()) {
                    return 1;
                }
                return 0;
            }
        });
        System.out.println(names);


        List<Integer> list2=new ArrayList<>(Arrays.asList(100,2,78,9,67,4));
        System.out.println(list2);

        //rerverse()集合反转,将集合中的元素颠倒过来
        // Collections.reverse(list2);
        // System.out.println(list2);

        // swap(list,index1,index2)将指定索引位置index1与index2的元素值进行交换
        Collections.swap(list2,1,4);
        System.out.println(list2);



        // fill():将集合中所有元素值都换成指定元素
        Collections.fill(list2,1000);
        System.out.println(list2);





    }
}
